package release_system

import (
	"github.com/gin-gonic/gin"
	//gitlabapi "github.com/xanzy/go-gitlab"
	"k8s-platform/service/release_system"

	//"k8s-platform/service/code_git"
	"net/http"
)

var Gitlab git

type git struct{}

// 新增
//func (*git) Add(c *gin.Context) {
//	p := &model.Git{}
//
//	if err := c.ShouldBindJSON(p); err != nil {
//		c.JSON(http.StatusOK, gin.H{
//			"code": 90400,
//			"msg":  err.Error(),
//			"data": nil,
//		})
//		return
//	}
//	if err := code_git.Git.Add(p); err != nil {
//		c.JSON(http.StatusOK, gin.H{
//			"code": 90500,
//			"msg":  err.Error(),
//			"data": nil,
//		})
//		return
//	}
//	c.JSON(http.StatusOK, gin.H{
//		"code": 0,
//		"msg":  "创建git库连接凭据成功",
//		"data": nil,
//	})
//}

// 查看列表
func (*git) List(ctx *gin.Context) {

	data, err := release_system.Git.List()
	if err != nil {
		ctx.JSON(http.StatusInternalServerError, gin.H{
			"msg":  err.Error(),
			"data": nil,
		})
		return
	}

	ctx.JSON(http.StatusOK, gin.H{
		"code": 0,
		"msg":  "查询列表成功",
		"data": data,
	})
}

// 查看分支列表
func (*git) BrancheList(ctx *gin.Context) {
	p := new(struct {
		BrancheID int `json:"brancheID"`
	})

	if err := ctx.Bind(p); err != nil {
		ctx.JSON(http.StatusOK, gin.H{
			"code": 90400,
			"msg":  err.Error(),
			"data": nil,
		})
		return
	}

	data, err := release_system.Git.BranchList(p.BrancheID)
	if err != nil {
		ctx.JSON(http.StatusInternalServerError, gin.H{
			"msg":  err.Error(),
			"data": nil,
		})
		return
	}

	ctx.JSON(http.StatusOK, gin.H{
		"code": 0,
		"msg":  "查询分支列表成功",
		"data": data,
	})
}

//// 查看group组详情
//func (*hostserver) GetDetail(c *gin.Context) {
//	p := new(struct {
//		ID int64 `form:"id"`
//	})
//	if err := c.Bind(p); err != nil {
//		c.JSON(http.StatusOK, gin.H{
//			"code": 90400,
//			"msg":  err.Error(),
//			"data": nil,
//		})
//		return
//	}
//	data, _, err := cmdb.HostServer.Get(p.ID)
//	if err != nil {
//		c.JSON(http.StatusOK, gin.H{
//			"code": 90500,
//			"msg":  err.Error(),
//			"data": nil,
//		})
//		return
//	}
//	c.JSON(http.StatusOK, gin.H{
//		"code": 0,
//		"msg":  "查询HostServer组详情成功",
//		"data": data,
//	})
//}
//
// 更新group组
//type UpdateRequest struct {
//	Git    *model.Git
//	ID            int64 `form:"id"`
//}

//func (*git) Update(c *gin.Context) {
//	p := &model.Git{}
//	if err := c.ShouldBindJSON(&p); err != nil {
//		c.JSON(http.StatusOK, gin.H{
//			"code": 90401,
//			"msg":  err.Error(),
//			"data": p,
//		})
//		return
//	}
//	//tempData.Git = &model.Git{}
//	//由于只存在一个git库，因此写死
//	p.ID = 1
//	if err := code_git.Git.Update(p, p.ID); err != nil {
//		c.JSON(http.StatusOK, gin.H{
//			"code": 90500,
//			"msg":  err.Error(),
//			"data": p,
//		})
//		return
//	}
//	c.JSON(http.StatusOK, gin.H{
//		"code": 0,
//		"msg":  "更新hostgroup组成功",
//		"data": p,
//	})
//}

//
//// 删除
//func (*hostserver) Delete(c *gin.Context) {
//	p := &model.HostServer{}
//	if err := c.ShouldBindJSON(p); err != nil {
//		c.JSON(http.StatusOK, gin.H{
//			"code": 90400,
//			"msg":  err.Error(),
//			"data": nil,
//		})
//		return
//	}
//	if err := cmdb.HostServer.Delete(p, p.ID); err != nil {
//		c.JSON(http.StatusOK, gin.H{
//			"code": 90500,
//			"msg":  err.Error(),
//			"data": nil,
//		})
//		return
//	}
//	c.JSON(http.StatusOK, gin.H{
//		"code": 0,
//		"msg":  "删除HostServer组成功",
//		"data": nil,
//	})
//}
